<?php
/**
 * Валидация конфига acl на простые ошибки.
 * @author nrnwest@gmail.com
 *
 */
class Admin_Validate_Acl extends Zend_Validate_Abstract
{

    protected $_messageTemplates = array('error'=>'Ошибка: "%value%"');
    
    private $_module;
    
    public function __construct($module)
    {
        $this->_module = $module;
    }
    
    public function isValid($value)
    {
       $value = trim($value);
      // запишем конфиг в временый файл
      $path = tempnam(Arm_Core::getPathApplication() . 'temp', 'CON');
      $fp = fopen($path, 'wb');
      fwrite($fp, $value);
      fclose($fp);
      try {
       $acl = new Arm_Acl(Arm_Acl::GROUP_GUEST, 'admin', $path);   
      } catch (Exception $e) {
          $this->_error('error', $e->getMessage());
          unlink($path);
          return false;
      }
      unlink($path);
      return true;   
    }
    
}